package pl.wr.particle.impl.matter.elementary.fermions.leptons;

import java.util.HashMap;
import java.util.Map;

import pl.wr.particle.def.matter.IParticle;
import pl.wr.particle.def.matter.elementary.fermions.leptons.IElectron;
import pl.wr.particle.impl.Particle;
import pl.wr.physics.units.quantum.QuantumUnit;
import pl.wr.physics.units.quantum.number.AzimuthalQuantumNumber;
import pl.wr.physics.units.quantum.number.MagneticQuantumNumber;
import pl.wr.physics.units.quantum.number.PrincipalQuantumNumber;
import pl.wr.physics.units.quantum.number.SpinQuantumNumber;

/**
 * @version 1.0
 * @author wieslaw.rodak
 * 
 */
public class Electron extends Particle implements IElectron {

    private Map<String, QuantumUnit> quantumNumbers;

    public Electron() {
        quantumNumbers = new HashMap<String, QuantumUnit>();
    }

    public Electron(PrincipalQuantumNumber n, AzimuthalQuantumNumber l, MagneticQuantumNumber ml, SpinQuantumNumber ms) {
        this();
        quantumNumbers.put("n", n);
        quantumNumbers.put("l", l);
        quantumNumbers.put("ml", ml);
        quantumNumbers.put("ms", ms);
    }

    @Override
    public IParticle[] fusion(IParticle[] particles) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public IParticle[] decay() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String toString() {
        String s = "";
        for (QuantumUnit value : quantumNumbers.values()) {
            s=s+value+" ";
        }
        return s;
//        return "e-";
    }
}
